﻿#define  _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#include <stdbool.h>

typedef int   LTDataType;
//双链表的结点定义
typedef struct ListNode
{
	LTDataType data;
	struct ListNode* next;//指向下一个节点的指针
	struct ListNode* prev;
}LTNode;


//void LTInit(LTNode** pphead);
//初始化双链表
LTNode* LTInit();
//销毁双链表
void LTDestroy(LTNode* phead);
//打印双链表
void LTPrint(LTNode* phead);
//判断双链表是否为空
bool LTEmpty(LTNode* phead);
//尾插
void LTPushBack(LTNode* phead, LTDataType x);
//尾删
void LTPopBack(LTNode* phead);
//头插
void LTPushFront(LTNode* phead, LTDataType x);
//头删
void LTPopFront(LTNode* phead);
//在pos位置之后插⼊数据
void LTInsert(LTNode* pos, LTDataType x);
//删除指定位置
void LTErase(LTNode* pos);
//查找元素
LTNode* LTFind(LTNode* phead, LTDataType x);
